nCine/nCine
cmake/ncine_compiler_options.cmake
:34
target_link_options(ncine PUBLIC "$<$<CONFIG:Debug>:${EMSCRIPTEN_LINKER_OPTIONS_DEBUG}>")
target_link_options(ncine PUBLIC "$<$<CONFIG:Debug>:${EMSCRIPTEN_LINKER_OPTIONS_DEBUG}>")
set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
add_test(NAME ${name}
COMMAND "powershell" "-Command" "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/RunTest.ps1" "$<TARGET_FILE:${name}>")
target_compile_options(easy_profiler_md PUBLIC $<$<CONFIG:Debug>:/MDd> $<$<NOT:$<CONFIG:Debug>>:/MD>)
add_compile_options(
"$<$<CONFIG:DEBUG>:-O0;-g3;-ggdb>"
)
target_compile_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/Od
>
$<$<CONFIG:Release>:
/O2;
/Gy
>
/permissive-;
/Oi;
/sdl;
/Oy-;
/W3;
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
/Ot;
/TP;
/wd4244;
/wd4101;
/wd4018;
/wd4305;
${DEFAULT_CXX_EXCEPTION_HANDLING}
)
file(GENERATE
OUTPUT copy_build_products$<$<BOOL:${multi_config}>:_$<CONFIG>>.cmake
CONTENT "${copy_snippet}")
target_compile_options(MeshSDFilter PUBLIC "$<$<CONFIG:RELEASE>:${OpenMP_CXX_FLAGS}>")
target_link_options(f3djs PRIVATE
"$<IF:$<CONFIG:Release>,-Oz,-O0>"
"--bind"
"--closure 1"
"SHELL:-sEXPORT_NAME=f3d"
"SHELL:-sALLOW_MEMORY_GROWTH=1"
"SHELL:-sEMULATE_FUNCTION_POINTER_CASTS=0"
"SHELL:-sMODULARIZE=1"
"SHELL:-sEXPORT_ES6=1"
"SHELL:-sENVIRONMENT=web"
"SHELL:-sUSE_PTHREADS=0"
"SHELL:-sSTACK_SIZE=1048576"
"SHELL:-sWASM=1"
"SHELL:-sFORCE_FILESYSTEM"
"SHELL:-sEXPORTED_RUNTIME_METHODS=FS"
"SHELL:-sWASM_BIGINT"
)
list(APPEND stamp_files_per_config $<$<CONFIG:${conf}>:${stamp_file_conf}>)
add_compile_options("$<$<CONFIG:DEBUG>:-DDEBUG>")
target_precompile_headers(UnitTests PRIVATE "$<$<NOT:$<CONFIG:ReleaseCoverage>>:${JOLT_PHYSICS_ROOT}/Jolt.h>")
add_compile_options("$<$<CONFIG:DEBUG>:-DDEBUG>")
add_compile_definitions("$<IF:$<CONFIG:Debug>,DEBUG,NDEBUG>")
target_link_options(MagnumPlugins::${_component} INTERFACE $<$<CONFIG:Release>:-Wl,-u,scalbnf>)
target_compile_options( shaderc PUBLIC $<$<CONFIG:RELEASE>:-O2 -DNDEBUG> )
target_compile_options( ${PROJECT_NAME} PRIVATE "$<$<CONFIG:Release>:/Zi>" )
target_include_directories(SDL_uclibc PRIVATE "${SDL3_BINARY_DIR}/include-config-$<LOWER_CASE:$<CONFIG>>/build_config")
target_include_directories(SDL_uclibc PRIVATE "${SDL3_BINARY_DIR}/include-config-$<LOWER_CASE:$<CONFIG>>/build_config")
target_compile_options(
${PROJECT_NAME}
PRIVATE /MP
/W4
/wd4251
/wd4592
/wd4127
/Zm200
$<$<CONFIG:Release>:
/Gw
/GS-
/GL
/GF
>
PUBLIC
)
target_compile_definitions("${ARGS_TARGET}_ShaderResources" PUBLIC $<$<CONFIG:Debug>:_ITERATOR_DEBUG_LEVEL=0>)
add_compile_definitions($<$<CONFIG:Release>:QT_NO_DEBUG>)
target_compile_options (OcctImportJS PUBLIC "$<$<CONFIG:Debug>:-gsource-map>")
target_link_options(alpaka INTERFACE "$<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:GNU>>:SHELL:-Og>"
"$<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:Clang,AppleClang,IntelLLVM>>:SHELL:-O0>")
add_compile_options("$<$<CONFIG:Debug>:-DDBG=1>")
add_compile_definitions(
$<$<CONFIG:Debug>:DEBUG>
$<$<CONFIG:Debug>:_DEBUG>
)
add_compile_definitions(
"UNICODE"
"_UNICODE"
"_WIN32_WINNT=0x0600"
# Debug allocations in debug builds
$<$<CONFIG:DEBUG>:_CRTDBG_MAP_ALLOC>
)
target_link_options(MLNQtCore PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
target_link_options(rubyengine PRIVATE $<$<CONFIG:Debug>:/NODEFAULTLIB:MSVCRT>)
target_compile_options(igl_common INTERFACE "/MD$<$<CONFIG:Debug>:d>")
target_link_options(MtKaHyPar-BuildFlags INTERFACE $<$<CONFIG:DEBUG>:-fno-omit-frame-pointer>)
add_compile_definitions($<$<CONFIG:DEBUG>:VKB_DEBUG>)
add_compile_definitions("$<$<CONFIG:Debug>:${debug_comp_defs}>")
add_link_options($<$<CONFIG:RELEASE>:-s>)
target_compile_definitions(${PROJECT_NAME} PUBLIC
"_CONSOLE"
"$<$<CONFIG:Debug>:DEBUG>"
"$<$<CONFIG:Debug>:_DEBUG>"
"$<$<CONFIG:Release>:NDEBUG>"
)
ExternalProject_Add(
nested_windows
PREFIX ${windows_prefix}
SOURCE_DIR ${CMAKE_SOURCE_DIR}
CMAKE_ARGS
-DBUILD_LINUX_MIDDLEWARE=OFF
"-DBUILD_WINDOWS_MIDDLEWARE_EXE=${BUILD_WINDOWS_MIDDLEWARE_EXE}"
"-DBUILD_WINDOWS_MIDDLEWARE_LIB=${BUILD_WINDOWS_MIDDLEWARE_LIB}"
"-DCMAKE_BUILD_TYPE=$<CONFIG>"
"-DCMAKE_INSTALL_PREFIX=${windows_install_dir}"
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/cmake/toolchain-mingw64.cmake"
$<$<BOOL:BUILD_WINDOWS_MIDDLEWARE_EXE>:-DWINDOWS_MIDDLEWARE_EXE_COMPONENT=nested-windows>
$<$<BOOL:BUILD_WINDOWS_MIDDLEWARE_LIB>:-DWINDOWS_MIDDLEWARE_LIB_COMPONENT=nested-windows>
"-DBUILD_TESTS=${BUILD_TESTS}"
# Reuse the 3P source trees we've already downloaded in the nested
# build.
"-Dfmt_POPULATED=${fmt_POPULATED}"
"-Dfmt_SOURCE_DIR=${fmt_SOURCE_DIR}"
"-Dfmt_BINARY_DIR=<BINARY_DIR>/_deps/fmt-build"
"-Dspdlog_POPULATED=${spdlog_POPULATED}"
"-Dspdlog_SOURCE_DIR=${spdlog_SOURCE_DIR}"
"-Dspdlog_BINARY_DIR=<BINARY_DIR>/_deps/spdlog-build"
"-Dgoogletest_POPULATED=${googletest_POPULATED}"
"-Dgoogletest_SOURCE_DIR=${googletest_SOURCE_DIR}"
"-Dgoogletest_BINARY_DIR=<BINARY_DIR>/_deps/googletest-build"
BUILD_ALWAYS ON
)
target_compile_options(nvshmem_perftest_helper
PRIVATE $<$<CONFIG:Debug>:-O0;-g;>
$<$<AND:$<BOOL:${NVSHMEM_VERBOSE}>,$<COMPILE_LANGUAGE:CUDA>>:-Xptxas -v>
$<$<AND:$<COMPILE_LANGUAGE:CUDA>,$<CONFIG:Debug>>:-O0;-g;-G>
$<$<AND:$<COMPILE_LANGUAGE:CUDA>,$<BOOL:${NVCC_THREADS}>>:-t4>
)
add_compile_options($<$<CONFIG:RELWITHDEBINFO>:-ggdb>)
set(pkgconfig_out "${OpenVINO_BINARY_DIR}/share/$<CONFIG>/openvino.pc")
add_compile_options("$<$<CONFIG:Debug>:-gdwarf-4>")
target_link_options(${TARGET_NAME} PRIVATE
# General
"-sWASM=1"
"-lembind"
# "-sMODULARIZE=1" # Doesn't work at startup
"-sDISABLE_EXCEPTION_CATCHING=1"
# "-sWASM_BIGINT" # depends on browser support (https://emscripten.org/docs/tools_reference/settings_reference.html?highlight=environment#wasm-bigint)
"-sFETCH=1"
# Webpage Template
"--shell-file" "${CMAKE_SOURCE_DIR}/Code/BuildSystem/Web/em-default.html"
# Main memory and main thread stack size
"-sINITIAL_MEMORY=2000MB"
"-sTOTAL_MEMORY=2000MB"
"-sSTACK_SIZE=4MB"
# Threads
"-pthread"
"-sUSE_PTHREADS=1"
"-sPROXY_TO_PTHREAD=1"
"-sPTHREAD_POOL_SIZE=20"
"-sDEFAULT_PTHREAD_STACK_SIZE=1MB"
# WebGPU
"-sUSE_WEBGPU=1"
"-sOFFSCREENCANVAS_SUPPORT"
# Debug Build
"$<$<CONFIG:${EZ_BUILDTYPENAME_DEBUG_UPPER}>:-sSTACK_OVERFLOW_CHECK=1>"
"$<$<CONFIG:${EZ_BUILDTYPENAME_DEBUG_UPPER}>:-sASSERTIONS=1>"
"$<$<CONFIG:${EZ_BUILDTYPENAME_DEBUG_UPPER}>:-g3>"
# Dev Build
"$<$<CONFIG:${EZ_BUILDTYPENAME_DEV_UPPER}>:-sASSERTIONS=1>"
"$<$<CONFIG:${EZ_BUILDTYPENAME_DEV_UPPER}>:-g2>"
# Shipping Build
"$<$<CONFIG:${EZ_BUILDTYPENAME_SHIPPING_UPPER}>:-g0>"
)
add_link_options($<$<CONFIG:Release,MinSizeRel>:/DEBUG:FULL>)
ExternalProject_Add(volk_gnsssdr_module
PREFIX ${GNSSSDR_BINARY_DIR}/volk_gnsssdr_module
SOURCE_DIR ${GNSSSDR_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
BINARY_DIR ${GNSSSDR_BINARY_DIR}/volk_gnsssdr_module/build
CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
-DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN>
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
DOWNLOAD_COMMAND ""
UPDATE_COMMAND ""
PATCH_COMMAND ""
BUILD_COMMAND ${VOLK_GNSSSDR_BUILD_COMMAND}
INSTALL_DIR ${GNSSSDR_BINARY_DIR}/volk_gnsssdr_module/install
)
target_compile_options(${the_target} PRIVATE "$<$<CONFIG:Release>:${OPENCV_TEST_EXTRA_CXX_FLAGS_Release}>")
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/core/plugin/PluginManager.cpp"
PROPERTIES
COMPILE_DEFINITIONS
"CMAKE_GENERATOR_IS_MULTI_CONFIG=$<BOOL:${CMAKE_GENERATOR_IS_MULTI_CONFIG}>;CMAKE_GENERATOR_CONFIGURATION=\"$<CONFIG>\""
)
ExternalProject_Add(
build32
SOURCE_DIR "${CMAKE_SOURCE_DIR}"
STAMP_DIR "${CMAKE_BINARY_DIR}/stamp32"
BINARY_DIR "${CMAKE_BINARY_DIR}/build32"
INSTALL_DIR "${CMAKE_BINARY_DIR}/install32"
BUILD_ALWAYS ON
EXCLUDE_FROM_ALL ON
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND
"${CMAKE_COMMAND}"
-S "<SOURCE_DIR>"
-B "<BINARY_DIR>"
-G "${CMAKE_GENERATOR}"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
-A Win32
"-DBUILD_OUT_PREFIX=${BUILD_OUT_PREFIX}"
-DWITH_ASAN=${WITH_ASAN}
BUILD_COMMAND
"${CMAKE_COMMAND}"
--build "<BINARY_DIR>"
--config "$<CONFIG>"
--target build32
--parallel
INSTALL_COMMAND
""
)
add_compile_options(/FI"${CMAKE_CURRENT_BINARY_DIR}/msvc_build_header_$<CONFIG>.h")
target_compile_options(qpl_c_api
PRIVATE $<$<C_COMPILER_ID:GNU,Clang>:$<$<CONFIG:Release>:-O3;-U_FORTIFY_SOURCE;-D_FORTIFY_SOURCE=2>>
PRIVATE $<$<COMPILE_LANG_AND_ID:CXX,GNU,Clang>:${QPL_LINUX_TOOLCHAIN_CPP_EMBEDDED_FLAGS}>)
add_compile_options("$<$<CONFIG:RELWITHDEBINFO>:-DTRACY_ENABLE=1 -DMT>")
set_property(
TARGET pybind11::windows_extras
APPEND
PROPERTY INTERFACE_COMPILE_OPTIONS $<$<NOT:$<CONFIG:Debug>>:/MP>)
target_compile_options(${curtarget} PRIVATE $<IF:$<CONFIG:Debug>,/Zi,/Z7>)
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
# If config is Release or RelWithDebInfo, package release files
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
"${CMAKE_COMMAND}" -E make_directory
"${RELEASE_DIR}/data/obs-plugins/${CMAKE_PROJECT_NAME}"
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
)
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
"${CMAKE_COMMAND}" -E copy_directory
"${PROJECT_SOURCE_DIR}/data"
"${RELEASE_DIR}/data/obs-plugins/${CMAKE_PROJECT_NAME}"
)
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
"${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:${CMAKE_PROJECT_NAME}>"
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
)
# If config is RelWithDebInfo, copy the pdb file
COMMAND if $<CONFIG:RelWithDebInfo>==1 (
"${CMAKE_COMMAND}" -E copy
"$<TARGET_PDB_FILE:${CMAKE_PROJECT_NAME}>"
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
)
# Copy to obs-studio dev environment for immediate testing
COMMAND if $<CONFIG:Debug>==1 (
"${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:${CMAKE_PROJECT_NAME}>"
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/obs-plugins/${ARCH_NAME}"
)
COMMAND if $<CONFIG:Debug>==1 (
"${CMAKE_COMMAND}" -E copy
"$<TARGET_PDB_FILE:${CMAKE_PROJECT_NAME}>"
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/obs-plugins/${ARCH_NAME}"
)
COMMAND if $<CONFIG:Debug>==1 (
"${CMAKE_COMMAND}" -E make_directory
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/data/obs-plugins/${CMAKE_PROJECT_NAME}"
)
COMMAND if $<CONFIG:Debug>==1 (
"${CMAKE_COMMAND}" -E copy_directory
"${PROJECT_SOURCE_DIR}/data"
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/data/obs-plugins/${CMAKE_PROJECT_NAME}"
)
)
add_compile_definitions($<$<CONFIG:Debug>:DEBUG>)
target_compile_options(scram-cli PRIVATE $<$<CONFIG:DEBUG>:${SCRAM_CXX_FLAGS_DEBUG}>)
target_compile_options( InterSpecLib PUBLIC $<$<CONFIG:Release>:/MP> )
set_property(
TARGET pybind11::opt_size
APPEND
PROPERTY INTERFACE_COMPILE_OPTIONS $<$<CONFIG:Release>:${PYBIND11_OPT_SIZE}>
$<$<CONFIG:MinSizeRel>:${PYBIND11_OPT_SIZE}>
$<$<CONFIG:RelWithDebInfo>:${PYBIND11_OPT_SIZE}>)
target_compile_definitions(${PROJECT_NAME} PRIVATE
"$<$<CONFIG:Debug>:"
"_DEBUG"
">"
"$<$<CONFIG:Release>:"
"NDEBUG"
">"
"WIN32;"
"_LIB;"
"UNICODE;"
"_UNICODE"
)
add_link_options($<$<CONFIG:RELEASE>:-s>)
set_target_properties(
Python::Python
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES
"$<$<NOT:$<CONFIG:Debug>>:${PYTHON_LIBRARY_RELEASE}>;$<$<CONFIG:Debug>:${PYTHON_LIBRARY_DEBUG}>"
)
add_compile_options($<$<NOT:$<CONFIG:Debug>>:-Wno-unused-variable>
$<$<NOT:$<CONFIG:Debug>>:-Wno-unused-parameter>)
add_link_options("$<$<AND:$<CONFIG:Debug>,$<COMPILE_LANG_AND_ID:CXX,MSVC>>:/OPT:REF>")
add_link_options("/DEFAULTLIB:ucrt$<$<CONFIG:Debug>:d>.lib" "/NODEFAULTLIB:libucrt$<$<CONFIG:Debug>:d>.lib")
target_compile_options(SimTKcommon INTERFACE
"$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:/wd4996>")
add_compile_definitions($<$<CONFIG:DEBUG>:DEBUG> $<$<CONFIG:DEBUG>:_DEBUG> SIMDE_ENABLE_OPENMP)
add_custom_command(TARGET ${targetname_libgen} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${dictname}_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${dictname}_rdict.pcm
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${dictname}.dll
${CMAKE_CURRENT_BINARY_DIR}/${dictname}.dll
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${dictname}.lib
${CMAKE_CURRENT_BINARY_DIR}/${dictname}.lib)
add_custom_command (TARGET ${MUSE_BLED_LIB} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/java_package/brainflow/src/main/resources/${MUSE_BLED_LIB_NAME}"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/csharp_package/brainflow/brainflow/lib/${MUSE_BLED_LIB_NAME}"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/julia_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
)
ExternalProject_Add(Seastar
SOURCE_DIR "${PROJECT_SOURCE_DIR}/seastar"
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} --build "${seastar_build_dir}"
--target seastar
--target seastar_testing
--target seastar_perf_testing
--target app_iotune
BUILD_ALWAYS ON
BUILD_BYPRODUCTS
${seastar_build_dir}/libseastar.$<IF:$<CONFIG:Debug,Dev>,so,a>
${seastar_build_dir}/libseastar_testing.$<IF:$<CONFIG:Debug,Dev>,so,a>
${seastar_build_dir}/libseastar_perf_testing.$<IF:$<CONFIG:Debug,Dev>,so,a>
${seastar_build_dir}/apps/iotune/iotune
${seastar_build_dir}/gen/include/seastar/http/chunk_parsers.hh
${seastar_build_dir}/gen/include/seastar/http/request_parser.hh
${seastar_build_dir}/gen/include/seastar/http/response_parser.hh
INSTALL_COMMAND "")
ExternalProject_Add(${proj}
${ext_ep_download_command}
SOURCE_DIR ${EXTENSION_SOURCE_DIR}
BINARY_DIR ${EXTENSION_SUPERBUILD_BINARY_DIR}
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -DCTEST_BUILD_CONFIGURATION=$<CONFIG> -P ${build_extension_wrapper_script}
INSTALL_COMMAND ""
${maybe_BUILD_JOB_SERVER_AWARE}
${EP_ARG_EXTENSION_DEPENDS}
)
add_compile_definitions(
$<$<CONFIG:DEBUG>:DEBUG>
)
add_compile_options(
$<$<CONFIG:>:/MT>
$<$<CONFIG:Debug>:/MTd>
$<$<CONFIG:Release>:/MT>
)
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_BINARY_DIR}/Docs/INFO_BIN
COMMAND ${CMAKE_COMMAND}
${MYSQLD_EXECUTABLE_FOR_INFO_BIN}
-DCMAKE_BUILD_TYPE=$<CONFIG>
-P ${CMAKE_SOURCE_DIR}/cmake/info_bin.cmake
COMMENT "Generating Docs/INFO_BIN"
DEPENDS ${CMAKE_BINARY_DIR}/CMakeCache.txt
)
target_compile_options(project_options INTERFACE $<$<CONFIG:Release>:/guard:cf>)
add_compile_options("$<$<CONFIG:DEBUG>:-Og;-D_DEBUG;-g>")
set_property(TARGET ${trgt} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>$<$<BOOL:${NBL_COMPILER_DYNAMIC_RUNTIME}>:DLL>")
add_custom_target(check-unittest
COMMENT "Running the ONNX-MLIR unit tests"
COMMAND "${CMAKE_CTEST_COMMAND}" -L unittest --output-on-failure -C $<CONFIG> --force-new-ctest-process
USES_TERMINAL
DEPENDS unittest
)
add_compile_options(
$<$<CONFIG:>:/MT>
$<$<CONFIG:Debug>:/MTd>
$<$<CONFIG:Release>:/MT>
$<$<CONFIG:RelWithDebInfo>:/MT>
$<$<CONFIG:MinSizeRel>:/MT>
)
add_custom_command(TARGET ${GPA_PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${GPA_DX11_GET_DEVICE_INFO_DLL} ${GPA_OUTPUT_DIR}/$<CONFIG>${OUTPUT_SUFFIX}/ VERBATIM
COMMENT "Copying GPUPerfAPIDXGetDeviceInfo-x64.dll to output folder...")
add_custom_target(${TARGET}RunTests ALL
COMMAND "${PYTHON}" ${GFXReconstruct_SOURCE_DIR}/scripts/test.py
-c $<$<CONFIG:Debug>:debug> $<$<CONFIG:Release>:release>
-a ${ARCHITECTURE}
--test-exe $<TARGET_FILE:${TARGET}>
$<$<NOT:$<STREQUAL:"","${ARGN}">>:"--test-args ${ARGN}">
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
add_custom_target(
pack-${project_name}
COMMAND ${CPACK_COMMAND} --config ${PROJECT_BINARY_DIR}/CPackConfig-${project_name}.cmake -C $<CONFIG>
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_compile_options("$<$<CONFIG:Debug>:/D_DEBUG>")
add_compile_options("$<$<CONFIG:Release>:${MSVC_OPTIONS}>")
target_link_options(glaze_glaze INTERFACE
$<$<CONFIG:Release>:/LTCG /INCREMENTAL:NO>
$<$<CONFIG:MinSizeRel>:/LTCG /INCREMENTAL:NO>)
target_compile_options (seastar PUBLIC
$<$<NOT:$<CONFIG:Dev>>:-gsplit-dwarf>)
add_link_options($<$<CONFIG:RELEASE>:-s>)
list(APPEND HAS_SYMBOLS_CONDITION "$<CONFIG:${_config}>")
add_compile_options(
$<$<CONFIG:>:/MT>
$<$<CONFIG:Debug>:/MTd>
$<$<CONFIG:Release>:/MT>
)
add_custom_target(generate_manifest
ALL
COMMAND ${CMAKE_COMMAND}
-D MANIFEST_FILE=${INSTALL_MANIFEST}
-D BUILD_DIR=${MySQL_CONCPP_BINARY_DIR}
-D CONFIG=$<CONFIG>
-P "${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.cmake"
WORKING_DIRECTORY ${MySQL_CONCPP_BINARY_DIR}
COMMENT "Generating install manifest"
)
target_compile_definitions(SpixBasicExample PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
add_custom_command(TARGET ${info_binary_id} POST_BUILD
COMMAND $<$<CONFIG:Release>:${CMAKE_STRIP}>
ARGS --strip-all $<TARGET_FILE:${info_binary_id}>
)
target_compile_definitions(trinity-compile-option-interface
INTERFACE
-D_BUILD_DIRECTIVE="$<CONFIG>")
add_compile_options(
$<$<CONFIG:>:/MT>
$<$<CONFIG:Debug>:/MTd>
$<$<CONFIG:Release>:/MT>
)
add_custom_target(
openassetio.internal.install
COMMAND "${CMAKE_COMMAND}" --build "${PROJECT_BINARY_DIR}"
--target install --parallel --config $<CONFIG>
)
target_link_options(VowpalWabbit.Core PRIVATE
$<$<CONFIG:Release>:/DEBUG>
$<$<CONFIG:Debug>:/DEBUG>
)
target_compile_definitions(
${PROJECT_NAME}
PRIVATE
ARCHITECTURE_X64
GLFW_INCLUDE_NONE
CLIP_ENABLE_IMAGE
$<$<PLATFORM_ID:Linux>:HAVE_PNG_H>
$<$<CONFIG:Debug>:CONFIG_DEBUG>
$<$<CONFIG:Release>:CONFIG_RELEASE>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_DEPRECATE>
$<$<PLATFORM_ID:Windows>:PLATFORM_WINDOWS>
$<$<PLATFORM_ID:Linux>:PLATFORM_LINUX>
$<$<BOOL:${PACKAGE_PORTABLE}>:PACKAGE_PORTABLE>
$<$<BOOL:${PACKAGE_DEV}>:PACKAGE_DEV>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_SNAP}>>:PACKAGE_SNAP>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_DEB}>>:PACKAGE_DEB>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_NIX}>>:PACKAGE_NIX>
# These shouldn't actually be necessary as there are no direct Windows API calls
# in TacentView (they are abstracted away by the Tacent libraries). But just in case
# anything in the viewer were to call an OS-level function, these enable the UTF-16
# versions if the TACENT_UTF16_API_CALLS option is set.
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:UNICODE> # C++ UFF-16
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:_UNICODE> # C UTF-16
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:TACENT_UTF16_API_CALLS>
)
target_compile_options(${arg1} PRIVATE
"$<$<CONFIG:Debug>:${PAGMO_CXX_FLAGS_DEBUG}>"
"$<$<CONFIG:Release>:${PAGMO_CXX_FLAGS_RELEASE}>"
"$<$<CONFIG:RelWithDebInfo>:${PAGMO_CXX_FLAGS_RELEASE}>"
"$<$<CONFIG:MinSizeRel>:${PAGMO_CXX_FLAGS_RELEASE}>"
)
add_compile_definitions( $<$<CONFIG:Debug>:DEBUG> )
target_compile_options(
${PROJECT_NAME}
PRIVATE
/sdl # Enable Additional Security Checks
/utf-8 # Set Source and Executable character sets to UTF-8
/Zi # Debug Information Format
/permissive- # Standards conformance
/Zc:preprocessor # Enable preprocessor conformance mode
/wd4200 # nonstandard extension used : zero-sized array in struct/union
"$<$<CONFIG:DEBUG>:>"
"$<$<CONFIG:RELEASE>:/Zc:inline;/JMC-;/Ob3>"
)
target_compile_options(juce_recommended_config_flags INTERFACE
$<IF:$<CONFIG:Debug>,/Od,/Ox> $<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:/MP> /EHsc)
target_compile_definitions(
mixxx-lib
PUBLIC
"${CMAKE_SYSTEM_PROCESSOR}"
$<$<CONFIG:Debug>:MIXXX_BUILD_DEBUG>
$<$<CONFIG:Debug>:MIXXX_DEBUG_ASSERTIONS_ENABLED>
$<$<NOT:$<CONFIG:Debug>>:MIXXX_BUILD_RELEASE>
)
target_compile_options(${TARGET_NAME} PRIVATE "$<$<CONFIG:Release>:-Werror>")